/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package application;

import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.util.List;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTable;

/**
 *
 * @author mazid
 */
public class ViewManager {
    private static final ViewManager viewManager = new ViewManager();
    private CoreView coreView;
    
    
    public static ViewManager getInstance(){
        return viewManager;
    }
    //fonction pour initialiser l'application
    public void init() {
        coreView = new CoreView();
        coreView.setVisible(true);
    }
    //fonction qui ajoute le menu fichier dans la bar de menu
    public void displayMenuBar(JMenu menu, String nom){
        //coreView.addMenuBar(menu, nom);
        //menu.setName(nom);
        menu.setText(nom);
        coreView.getJMenuBar().add(menu);
    }
    //fonction pour ajouter le menu bar
    public void displayMenuBar(List<JMenu> menus){
        
    }
    
    //fonction pour ajouter le Panel Haut avec un champs de saisi et un bouton 
    public void displayPanelHaut(JPanel panel){
        coreView.addPanelHaut(panel);
        
    }
    // pour ajouter une feuille de calcul dans le tabed pane
    public void displayTable(JTable comp){
        coreView.addTable(comp);
    }
    // fonction pour ajouter le graphe
    public void displayGraphe(JComponent comp){
        coreView.addGraphe(comp);
    }
    //fonction qui ajoute la somme dans la barre de formule
    public void displaySomme(double valeur){
        //coreView.addSomme(valeur);
    }
    // fonction qui ferme l'application
    public void exit() {
        coreView.dispose();
    }
    // fonction enregistre l'etat de l'application avant de fermer
    public void saveAndExit(){
        coreView.dispose();
    }
    // recupere la table pour passer au graphe
    public JTable getJTable(){
        return coreView.getJTable();
    }
    public JTabbedPane getJTabbedPane(){
        return coreView.getTabedTable();
    }
}
